/*
 moxl - Modular XML Library
 Copyright (c) 2007, Malcolm Sparks

 This program is free software; you can redistribute it and/or
 modify it under the terms of the GNU General Public License
 as published by the Free Software Foundation; either version 2
 of the License, or (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 */
package moxl.tokenizer.xml;

import moxl.tokenizer.TokenType;

public enum XmlTokenType implements TokenType
{

	ID("id"),
	NAME("name"),

	WHITESPACE("whitespace"),
	SPACE("space"),

	OPEN_CHEVRON("open-chevron"),
	CLOSE_CHEVRON("close-chevron"),
	OPEN_BRACKET("open-bracket"),
	CLOSE_BRACKET("close-bracket"),
	SLASH("slash"),
	HYPHEN("hyphen"),
	DOUBLE_HYPHEN("double-hyphen"),
	EXCLAMATION_MARK("exclamation-mark"),
	EQUALS("equals"),
	DOUBLE_QUOTE("double-quote"),
	SINGLE_QUOTE("single-quote"),

	ILLEGAL_CHARACTER("illegal"),

	COMMENT_BODY("comment"),
	CDATA("cdata"),
	ATTRIBUTE_VALUE("attribute-value"),
	OPEN_CHEVRON_EXCLAMATION_MARK("open-chevron-exclamation-mark"),
	OPEN_CHEVRON_QUESTION_MARK("open-chevron-question-mark"),
	OPEN_CHEVRON_PERCENT("open-chevron-percent"),
	OPEN_CHEVRON_SLASH("open-chevron-slash"),
	SLASH_CLOSE_CHEVRON("slash-close-chevron"),
	QUESTION_MARK("question-mark"),
	QUESTION_MARK_CLOSE_CHEVRON("question-mark-close-chevron"),

	OPEN_COMMENT("open-comment"),
	CLOSE_COMMENT("close-comment"),

	PERCENT("percent"),
	CHARACTER_DATA("character-data"),
	CLOSE_SECTION("close-section"),
	DOCTYPE_BODY("doctype-body"), 
	PROCESSING_INSTRUCTION_BODY("pi-body");

	String label;

	XmlTokenType(String label)
	{
		this.label = label;
	}

	public String getLabel()
	{
		return label;
	}

}
